home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cug232 / float.st < prev    next >
Text File  |  1987-06-17  |  2KB  |  95 lines

  1. Class Float :Number
  2. [
  3.     = aNumber
  4.         ^ <SameTypeOfObject self aNumber>
  5.             ifTrue:  [<FloatEquality self aNumber>]
  6.             ifFalse: [super = aNumber]
  7. |
  8.     < aNumber
  9.         ^ <SameTypeOfObject self aNumber>
  10.             ifTrue:  [<FloatLessThan self aNumber>]
  11.             ifFalse: [super < aNumber]
  12. |
  13.     > aNumber
  14.         ^ <SameTypeOfObject self aNumber>
  15.             ifTrue:  [<FloatGreaterThan self aNumber>]
  16.             ifFalse: [ super > aNumber]
  17. |
  18.     + aNumber
  19.         ^ <SameTypeOfObject self aNumber>
  20.             ifTrue:  [<FloatAddition self aNumber>]
  21.             ifFalse: [super + aNumber]
  22. |
  23.     - aNumber
  24.         ^ <SameTypeOfObject self aNumber>
  25.             ifTrue:  [<FloatSubtraction self aNumber>]
  26.             ifFalse: [super - aNumber]
  27. |
  28.     * aNumber
  29.         ^ <SameTypeOfObject self aNumber>
  30.             ifTrue:  [<FloatMultiplication self aNumber>]
  31.             ifFalse: [super * aNumber]
  32. |
  33.     / aNumber
  34.         ^ <SameTypeOfObject self aNumber>
  35.             ifTrue:  [<FloatDivision self aNumber>]
  36.             ifFalse: [super / aNumber]
  37. |
  38.     ^ aNumber
  39.         ^ <SameTypeOfObject self aNumber>
  40.             ifTrue:  [<Power self aNumber>]
  41.             ifFalse: [super raisedTo: aNumber]
  42. |
  43.     arcCos
  44.         ^ Radian new: <ArcCos self>
  45. |
  46.     arcSin
  47.         ^ Radian new: <ArcSin self>
  48. |
  49.     arcTan
  50.         ^ Radian new: <ArcTan self>
  51. |
  52.     asFloat
  53.         ^ self
  54. |
  55.     asString
  56.         ^ <FloatToString self>
  57. |
  58.     ceiling
  59.         ^ <Ceiling self>
  60. |
  61.     coerce: aNumber
  62.         ^ aNumber asFloat
  63. |
  64.     exp
  65.         ^ <Exponent self>
  66. |
  67.     floor
  68.         ^ <Floor self>
  69. |
  70.     fractionPart
  71.         ^ <FractionalPart self>
  72. |
  73.     gamma
  74.         ^ <Gamma self>
  75. |
  76.     integerPart
  77.         ^ <IntegerPart self>
  78. |
  79.     ln
  80.         ^ <Log self>
  81. |
  82.     radix: aNumber
  83.         ^ <FloatRadixPrint self aNumber>
  84. |
  85.     rounded
  86.         ^ <Floor (self + 0.5)>
  87. |
  88.     sqrt
  89.         ^ <SquareRoot self>
  90. |
  91.     truncated
  92.         ^ (self < 0.0)  ifTrue:  [<Ceiling self>]
  93.                 ifFalse: [<Floor self>]
  94. ]
  95.